#ifndef _CAMERA_
#define _CAMERA_

#include "Objects/Entity.hpp"

/** 
* Camera
*/
class Camera{

    /** 
    * The target the camera is pointing at.
    */
    Entity* target;

    /** 
    * Height 
    */
    int width;

    /** 
    * The height
    */
    int height;

    /** 
    * Zoom scale of camera.
    */
    float scale;
public:
    Camera(Entity* cameraTarget, int cameraWidth, int cameraHeight);

    int getX();
    int getY();
    int getTileX();
    int getTileY();

    int getTopTile();
    int getLeftTile();

    int getWidth();
    int getHeight();
    void setWidth(int value);
    void setHeight(int value);
    void setTarget(Entity* set);

    float getScale();
    void setScale(float val);
    ~Camera();
};
#endif